package br.com.quiz.domain;

import java.io.Serializable;

import javax.persistence.*;

import java.util.List;

/**
 * The persistent class for the alternativas database table.
 * 
 */
@Entity
@Table( name = "alternativas" )
@NamedQueries( value = { @NamedQuery( name = "Alternativa.filtrarPorId", query = "Select a from Alternativa a where a.altId = :altId" ), @NamedQuery( name = "Alternativa.listar", query = "SELECT a FROM Alternativa a" ) } )
public class Alternativa implements Serializable{
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue( strategy = GenerationType.IDENTITY )
	@Column( name = "ALT_ID" )
	private int altId;

	@Column( name = "ALT_CORRETA" )
	private byte altCorreta;

	@Lob
	@Column( name = "ALT_DESCRICAO" )
	private String altDescricao;

	//bi-directional many-to-one association to AlternativasQuestao
	@OneToMany( mappedBy = "alternativa" )
	private List< AlternativasQuestao > alternativasQuestaos;

	public Alternativa(){}

	public int getAltId() {
		return this.altId;
	}

	public void setAltId( int altId ) {
		this.altId = altId;
	}

	public byte getAltCorreta() {
		return this.altCorreta;
	}

	public void setAltCorreta( byte altCorreta ) {
		this.altCorreta = altCorreta;
	}

	public String getAltDescricao() {
		return this.altDescricao;
	}

	public void setAltDescricao( String altDescricao ) {
		this.altDescricao = altDescricao;
	}

	public List< AlternativasQuestao > getAlternativasQuestaos() {
		return this.alternativasQuestaos;
	}

	public void setAlternativasQuestaos( List< AlternativasQuestao > alternativasQuestaos ) {
		this.alternativasQuestaos = alternativasQuestaos;
	}

	public AlternativasQuestao addAlternativasQuestao( AlternativasQuestao alternativasQuestao ) {
		getAlternativasQuestaos().add( alternativasQuestao );
		alternativasQuestao.setAlternativa( this );

		return alternativasQuestao;
	}

	public AlternativasQuestao removeAlternativasQuestao( AlternativasQuestao alternativasQuestao ) {
		getAlternativasQuestaos().remove( alternativasQuestao );
		alternativasQuestao.setAlternativa( null );

		return alternativasQuestao;
	}

	@Override
    public String toString() {
	    return  getAltDescricao();
    }
	

}